Providing a multicast service using a multicast group-source key

ABSTRACT

Providing a multicast service to a mobile node includes receiving a first request to join a multicast group from a first cell site. The first request requests that a first mobile node be permitted to join the multicast group. A first multicast source operable to provide content to the first mobile node is identified. The multicast group and the first multicast source are associated to yield a first group-source combination. A first key is assigned to the first group-source combination, and the first key is provided to the first cell site.

TECHNICAL FIELD

This invention relates generally to the field of communications and morespecifically to providing a multicast service using a multicastgroup-source key.

BACKGROUND

Multicasting allows content to be distributed to multiple devices of acommunication network. To multicast packets to a multicast group, asingle device may send copies of the packets to the members of themulticast group. Multicasting typically involves distributing packetsusing a group identifier that uniquely identifies the multicast group.In certain situations, however, the group identifier itself might notprovide for effective multicast group identification. For example, agroup identifier might not be sufficient in networks that have privateor overlapping addresses. It is generally desirable to effectivelydistribute packets.

SUMMARY OF THE DISCLOSURE

In accordance with the present invention, disadvantages and problemsassociated with previous techniques for providing a multicast servicemay be reduced or eliminated.

According to one embodiment of the present invention, providing amulticast service to a mobile node includes receiving a first request tojoin a multicast group from a first cell site. The first requestrequests that a first mobile node be permitted to join the multicastgroup. A first multicast source operable to provide content to the firstmobile node is identified. The multicast group and the first multicastsource are associated to yield a first group-source combination. A firstkey is assigned to the first group-source combination, and the first keyis provided to the first cell site.

Certain embodiments of the invention may provide one or more technicaladvantages. A technical advantage of one embodiment may be that a key isassigned to a combination of a multicast group and a multicast source,such as a multicast service provider. Assigning the key to thecombination provides for distinguishing among multicast sources thatprovide content to the same multicast group. Distinguishing among themulticast sources may provide for more effective distribution of packetsfor private multicast services.

Certain embodiments of the invention may include none, some, or all ofthe above technical advantages. One or more other technical advantagesmay be readily apparent to one skilled in the art from the figures,descriptions, and claims included herein.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present invention and itsfeatures and advantages, reference is now made to the followingdescription, taken in conjunction with the accompanying drawings, inwhich:

FIG. 1 is a block diagram illustrating one embodiment of a system thatprovides multicast services;

FIG. 2 is a call flow diagram illustrating one embodiment of a methodfor setting up multicast services that may be used with the system ofFIG. 1; and

FIG. 3 is a flowchart illustrating one embodiment of a method formulticasting content that may be used with the system of FIG. 1.

DETAILED DESCRIPTION OF THE DRAWINGS

Embodiments of the present invention and its advantages are bestunderstood by referring to FIGS. 1 through 3 of the drawings, likenumerals being used for like and corresponding parts of the variousdrawings.

FIG. 1 is a block diagram illustrating one embodiment of a networksystem 10 that provides multicast services. System 10 assigns a key to acombination of a multicast group and a multicast source. Assigning thekey to the combination provides for distinguishing among multicastsources that provide content to the same multicast group. Distinguishingamong the multicast sources may provide for more effective distributionof packets for private multicast services.

According to the illustrated embodiment, system 10 operates to provideservices such as communication sessions to endpoints such as mobile node20. A communication session may refer to an active communication betweenendpoints, measured from endpoint to endpoint. Information iscommunicated during a communication session. Information may refer tovoice, data, text, audio, video, multimedia, control, signaling, otherinformation, or any combination of the preceding. System 10 maycommunicate information in packets. A packet may comprise a bundle ofdata organized in a specific way for transmission, and a frame maycomprise the payload of one or more packets organized in a specific wayfor transmission. A packet-based communication protocol such as InternetProtocol (IP) may be used to communicate the packets.

System 10 may utilize communication protocols and technologies toprovide the communication sessions. Example communication protocols andtechnologies include those set by the Institute of Electrical andElectronics Engineers, Inc. (IEEE) 802.xx standards such as 802.11 and802.16 standards, International Telecommunications Union (ITU-T)standards, European Telecommunications Standards Institute (ETSI)standards, Internet Engineering Task Force (IETF) standards, or otherstandards. According to one embodiment, system 10 may operate accordingto the WiMAX protocols, also known as the IEEE 802.16 standards. TheWiMAX protocols specify fixed and mobile point-to-multipoint andmultipoint-to-multipoint communication for broadband wireless systems.

According to the embodiment, system 10 is operable to multicast packetsto a multicast group comprising devices of system 10. Multicasting mayrefer to the communication of packets from a single device to multiplemember devices of a multicast group. The single device may send copiesof packets to the member devices of the multicast group. A multicastgroup may refer to a set of devices to which packets are multicast. Amulticast group may be represented by, for example, identifiers, such asaddresses, of the members of the multicast group. A multicast group mayhave a group identifier that uniquely identifies the multicast group. IPmulticast procedures use Class D Internet addresses.

According to the illustrated embodiment, system 10 includes one or moremobile nodes 20, one or more cell sites 24, a communication network 26,a gateway 28, and one or more source networks 32 coupled as shown.Mobile node 20 represents any suitable device operable to communicatewith a communication system. In general, a device may include anysuitable arrangement of components and logic operable to perform theoperations of the device. “Logic” may refer to hardware, software, otherlogic, or any suitable combination of the preceding. Mobile node 20 maycomprise, for example, a personal digital assistant, a computer such asa laptop, a cellular telephone, a mobile handset, or any other deviceoperable to communicate with system 10.

Cell site 24 represents any suitable device that provides wirelessservices to mobile node 20 present in, or visiting, a cell. For example,cell site 24 may represent an access point, a base station, a router, orany combination of the preceding. An access point may refer to a networkpoint that couples a wireless network, such as a wireless radio network,to a wired network, such as a wired area network. A cell may refer to ageographic unit of a network attachment point of a communicationnetwork. As an example, a cell may refer to a cell of a cellular networkor a hot spot of a wireless network. A mobile node 20 may be present in,or visiting, a cell if mobile node 20 is within the range of cell site24 of the cell.

A cell site 24 may comprise any suitable logic operable to providewireless services to mobile nodes 20 present in a cell. According to oneembodiment, cell site 24 includes a base transceiver station and a basestation controller. The base transceiver station communicates signals toand from mobile node 20 through a wireless link that is typically aradio frequency link. The base station controller manages the operationof the base transceiver station.

Network 26 represents a communication network that allows devices suchas mobile node 20 to communicate with other devices. A communicationnetwork may comprise all or a portion of a public switched telephonenetwork (PSTN), a public or private data network, a local area network(LAN), a metropolitan area network (MAN), a wide area network (WAN), alocal, regional, or global communication or computer network such as theInternet, a wireline or wireless network, an enterprise intranet, othersuitable communication link, or any combination of the preceding.

Gateway 28 represents any suitable device operable to multicast packetsto members of a multicast group. According to the illustratedembodiment, gateway 28 multicasts packets to cell sites 24. To multicastthe packets, gateway 28 maintains a list of the members of the multicastgroup. The list may include identifiers, such as addresses, of themembers.

Gateway 28 also assigns a key to each group-source combination. A keymay refer to any suitable identifier that uniquely identifies agroup-source combination. As an example, a key may comprise a tag orother value. A group-source combination may refer to the combination ofa multicast group and a multicast source operable to provide content tothe multicast group. Accordingly, a combination of a group and a firstsource would be assigned a different key than a combination of the groupand a second source. Moreover, the same key is provided for members ofthe same group serviced by the same source, regardless of whether thesame or different cell sites 24 that are servicing the members. A keymay make the multicast interaction between gateway 28 and cell site 24independent of the multicast addressing.

TABLE 1 illustrates example groups and keys for group-sourcecombinations.

TABLE 1 Group Members Source Key G₁ m₁₁, m₁₂ S₁ K₁ G₁ m₁₃, m₁₄ S₂ K₂ G₂m₂₁, m₂₂ S₁ K₃TABLE 1 lists group G₁ with members m₁₁, m₁₂, m₁₃, and m₁₄ and group G₂with members m₂₁ and m₂₂. Members may be serviced by any suitablecombination of cell sites 24. Source S₁ provides content to members m₁₁,m₁₂, m₂₁ and m₂₂, and source S₂ provides content to members m₁₃ and m₁₄.Key K₁ is assigned to the combination G₁-S₁, key K₂ is assigned to thecombination G₁-S₂, and key K₃ is assigned to the combination G₂-S₁.Members associated with the same group-source combination are assignedthe same key, regardless of whether they are serviced by the same ordifferent cell sites 24.

Gateway 28 may provide other suitable operations. For example, gateway28 may convert communications between different communication protocols.For example, gateway 28 may convert communications from a protocol usedby network 32 to a different protocol, or vice-versa.

Source network 32 represents a communication network that includes amulticast source 34. Multicast source 34 may refer to a server thatprovides content to be distributed to a multicast group. As an example,source network 32 may comprise a core server network operated by aservice provider. According to one embodiment, different source networks32 may use private addresses for each multicast group. Accordingly, asource network 32 may refer to a domain that uses different addressesfor a multicast group than the addresses used by another source network32.

System 10 may include other suitable components operable to facilitatecommunications sessions. As an example, system 10 may include a homeagent and a foreign agent. A home agent of a mobile node 20 may refer toan agent that maintains the address of mobile node 20 and forwardspackets to mobile node 20. A foreign agent of mobile node 20 may referto an agent that provides the home agent of mobile node 20 with anaddress to which packets for mobile node 20 may be forwarded.

As another example, system 10 may include an authorization server. Anauthorization server may represent any suitable device operable toprovide authorization-related services. Authorization-related servicesmay include services for authentication, authorization, accounting, orany suitable combination of the preceding. Authentication may refer tovalidating the identity of mobile node 20. Authorization may refer toauthorizing a level of service for mobile node 20. Accounting may referto tracking the usage of resources. As an example, an authorizationserver may provide one, two, or three of the listed services.

A component of system 10 may include logic, an interface, memory, othercomponent, or any suitable combination of the preceding. Certain logicmay manage the operation of a device, and may comprise, for example, aprocessor. “Processor” may refer to any suitable device operable toexecute instructions and manipulate data to perform operations.“Interface” may refer to logic of a device operable to receive input forthe device, send output from the device, perform suitable processing ofthe input or output or both, or any combination of the preceding, andmay comprise one or more ports, conversion software, or both.

“Memory” may refer to logic operable to store and facilitate retrievalof information, and may comprise Random Access Memory (RAM), Read OnlyMemory (ROM), a magnetic drive, a disk drive, a Compact Disk (CD) drive,a Digital Video Disk (DVD) drive, removable media storage, any othersuitable data storage medium, or a combination of any of the preceding.

Modifications, additions, or omissions may be made to system 10 withoutdeparting from the scope of the invention. The components of system 10may be integrated or separated according to particular needs. Moreover,the operations of system 10 may be performed by more, fewer, or othermodules. Additionally, operations of system 10 may be performed usingany suitable logic. As used in this document, “each” refers to eachmember of a set or each member of a subset of a set.

FIG. 2 is a call flow diagram illustrating one embodiment of a methodfor setting up multicast services that may be used with system 10 ofFIG. 1. For purposes of illustration, the method is described usingTABLE 1. Any suitable data structure, however, may be used. The methodbegins at step 110, where mobile node m₁₁ 20 sends a join request tocell site 24. A join request may refer to a message that may be used torequest access to content distributed to a multicast group. The joinrequest may include a group identifier G₁ for multicast group G₁. Cellsite 24 forwards the join request to gateway 28 at step 112.

Gateway 28 joins mobile node m₁₁ 20 to the requested multicast group G₁at step 114. Gateway 28 may perform any suitable procedure for joiningmobile node m₁₁ 20 to multicast group G₁. As an example, gateway 28 mayfirst establish whether mobile node m₁₁ 20 is authorized to joinmulticast group G₁. An authorization server may facilitate theauthorization process. If mobile node m₁₁ 20 is authorized, gateway 28may then add an identifier m₁₁ for mobile node m₁₁ 20 to the multicastgroup list for multicast group G₁.

Gateway 28 establishes a multicast source S₁ designated to provide themulticast content to mobile node m₁₁ 20 at step 116. Gateway 28 assignsa key K₁ to the group G₁-source S₁ combination of mobile node m₁₁ 20 atstep 118. Gateway 28 sends a join response to cell site 24 at step 120.A join response may refer to a message that indicates whether a mobilenode can join the requested multicast group. The join response mayinclude the assigned key K₁. The assigned key, however, may be providedto cell site 24 in any suitable message. Cell site 24 associates key K₁with mobile node m₁₁ 20 at step 122. The key may be used to establish atunnel between gateway 28 and cell site 24. Cell site 24 forwards thejoin response to mobile node m₁₁ 20 at step 124.

Mobile node m₁₃ 20 sends a join request to cell site 24 at step 126. Thejoin request may include a group identifier G₁ for multicast group G₁.Cell site 24 forwards the join request to gateway 28 at step 128.Gateway 28 joins mobile node m₁₃ 20 to the requested user group G₁ atstep 130. Gateway 28 establishes a multicast source S₂ designated toprovide the multicast content to mobile node m₁₃ 20 at step 132. Gateway28 assigns a key K₂ to the group G₁-source S₁ combination of mobile nodem₁₃ 20 at step 134. Gateway 28 sends a join response to cell site 24 atstep 136. Cell site 24 associates key K₂ with mobile node m₁₃ 20 at step138, and forwards the join response to mobile node m₁₃ 20 at step 140.After forwarding the response, the message terminates.

Modifications, additions, or omissions may be made to the method withoutdeparting from the scope of the invention. The method may include more,fewer, or other steps. Additionally, steps may be performed in anysuitable order without departing from the scope of the invention.

FIG. 3 is a flowchart illustrating one embodiment of a method formulticasting content to mobile nodes 20 that may be used with system 10of FIG. 1. For purposes of illustration, the method is described usingTABLE 1. Any suitable data structure, however, may be used.

Multicast source S₁ 32 sends a packet P₁ for multicast group G₁ togateway 28 at step 150. Packet P₁ includes identifiers for multicastgroup G₁ and multicast source S₁ 32. As an example, packet P₁ mayinclude a destination address that corresponds to identifier G₁ ofmulticast group G₁, and may include a source address that corresponds tomulticast source S₁ 32. Gateway 28 identifies key K₁ as associated withmulticast group G₁ and multicast source S₁ 32 and inserts key K₁ intopacket P₁ at step 152.

Multicast source S₂ 32 sends a packet P₂ for multicast group G₁ togateway 28 at step 154. Packet P₂ includes identifiers for multicastgroup G₁ and multicast source S₂ 32. Gateway identifiers key K₂ asassociated with multicast group G₁ and multicast source S₂ 32, andinserts key K₂ into packet P₂ at step 156.

Gateway 28 sends packet P₁ to cell site 24 at step 162. Cell site 24identifies mobile node m₁₁ 20 as associated with key K₁ at step 166.Gateway 28 sends packet P₂ to cell site 24 at step 170. Cell site 24identifies mobile node m₁₃ 20 as associated with key K₂ at step 174.Cell site 24 forwards packet P₁ to mobile node m₁₁ 20 at step 178. Cellsite 24 forwards packet P₂ to mobile node m₁₃ 20 at step 182. Afterforwarding the packet, the method terminates.

Modifications, additions, or omissions may be made to the method withoutdeparting from the scope of the invention. The method may include more,fewer, or other steps. Additionally, steps may be performed in anysuitable order without departing from the scope of the invention.

Certain embodiments of the invention may provide one or more technicaladvantages. A technical advantage of one embodiment may be that a key isassigned to a combination of a multicast group and a multicast source.Assigning the key to the combination provides for distinguishing amongmulticast sources that provide content to the same multicast group.Distinguishing among the multicast sources may provide for moreeffective distribution of packets for private multicast services.

While this disclosure has been described in terms of certain embodimentsand generally associated methods, alterations and permutations of theembodiments and methods will be apparent to those skilled in the art.Accordingly, the above description of example embodiments does notconstrain this disclosure. Other changes, substitutions, and alterationsare also possible without departing from the spirit and scope of thisdisclosure, as defined by the following claims.

1. A method to provide a multicast service to a mobile node, comprising:receiving a first request to join a multicast group, the first requestrequesting that a first mobile node serviced by a first cell site bepermitted to join the multicast group; identifying a first multicastsource that operates to provide content to the first mobile node;associating the multicast group and the first multicast source to yielda first group-source combination; assigning, by a gateway, a first keyto the first group-source combination; providing the first key to thefirst cell site; receiving a second request to join the multicast group,the second request requesting that a second mobile node be permitted tojoin the multicast group; identifying a second multicast source thatoperates to provide the content to the second mobile node; associatingthe multicast group with the second source to yield a secondgroup-source combination; assigning a second key to the secondgroup-source combination; receiving a third request to join themulticast group, the third request requesting that a third mobile nodeserviced by a third cell site be permitted to join the multicast group;establishing that the first multicast source operates to provide thecontent to the third mobile node; and providing the first key to thethird cell site.
 2. The method of claim 1, further comprising: receivinga packet for the multicast group from the first multicast source;identifying the first key associated with the first multicast source;inserting the first key into the packet; and sending the packet to thefirst cell site.
 3. The method of claim 1, further comprising:establishing that the mobile node is authorized to join the multicastgroup.
 4. A network device that provides a multicast service to a mobilenode, comprising: an interface that operates to: receive a first requestto join a multicast group, the first request requesting that a firstmobile node serviced by a first cell site be permitted to join themulticast group; and a processor coupled to the interface and thatoperates to: identify a first multicast source that operates to providecontent to the first mobile node; associate the multicast group and thefirst multicast source to yield a first group-source combination; assigna first key to the first group-source combination; provide the first keyto the first cell site; receive a second request to join the multicastgroup, the second request requesting that a second mobile node bepermitted to join the multicast group; identify a second multicastsource that operates to provide the content to the second mobile node;associate the multicast group with the second source to yield a secondgroup-source combination; assign a second key to the second group-sourcecombination; receive a third request to join the multicast group, thethird request requesting that a third mobile node serviced by a thirdcell site be permitted to join the multicast group; establish that thefirst multicast source operates to provide the content to the thirdmobile node; and provide the first key to the third cell site.
 5. Thenetwork device of claim 4, the processor further operates to: receive apacket for the multicast group from the first multicast source; identifythe first key associated with the first multicast source; insert thefirst key into the packet; and send the packet to the first cell site.6. The network device of claim 4, the processor further operates to:establish that the mobile node is authorized to join the multicastgroup.
 7. The network device of claim 4, the processor further operatesto: establish that the second mobile node is authorized to join themulticast group; receive a packet for the multicast group from the firstmulticast source; identify the first key associated with the firstmulticast source; insert the first key into the packet; and send thepacket to the first cell site.
 8. A system that provides a multicastservice to a mobile node, comprising: means for receiving a firstrequest to join a multicast group, the first request requesting that afirst mobile node serviced by a first cell site be permitted to join themulticast group; means for identifying a first multicast source thatoperates to provide content to the first mobile node; means forassociating the multicast group and the first multicast source to yielda first group-source combination; means for assigning, by a gateway, afirst key to the first group-source combination; means for providing thefirst key to the first cell site; means for receiving a second requestto join the multicast group, the second request requesting that a secondmobile node be permitted to join the multicast group; means foridentifying a second multicast source that operates to provide thecontent to the second mobile node; means for associating the multicastgroup with the second source to yield a second group-source combination;means for assigning a second key to the second group-source combination;means for receiving a third request to join the multicast group, thethird request requesting that a third mobile node serviced by a thirdcell site be permitted to join the multicast group; means forestablishing that the first multicast source operates to provide thecontent to the third mobile node; and means for providing the first keyto the third cell site.
 9. A network system to provide a multicastservice to a mobile node, comprising: a cell site that operates to:receive a first request to join a multicast group from a first mobilenode, the first request requesting that the first mobile node bepermitted to join the multicast group; and a gateway in communicationwith the cell site and that operates to: receive the first request fromthe cell site; identify a first multicast source that operates toprovide content to the first mobile node; associate the multicast groupand the first multicast source to yield a first group-sourcecombination; assign a first key to the first group-source combination;provide the first key to the cell site; receive a second request to jointhe multicast group, the second request requesting that a second mobilenode be permitted to join the multicast group; identify a secondmulticast source that operates to provide the content to the secondmobile node; associate the multicast group with the second source toyield a second group-source combination; assign a second key to thesecond group-source combination; receive a third request to join themulticast group, the third request requesting that a third mobile nodeserviced by a third cell site be permitted to join the multicast group;establish that the first multicast source operates to provide thecontent to the third mobile node; and provide the first key to the thirdcell site; the cell site further operates to: receive the first key fromthe gateway; and associate the first key with the first mobile node. 10.The network system of claim 9, the gateway further operates to: receivea packet for the multicast group from the first multicast source;identify the first key associated with the first multicast source;insert the first key into the packet; and send the packet to the cellsite.
 11. The network system of claim 9, the cell site further operatesto: receive a packet from the gateway, the packet communicating thefirst key; and identify the first mobile node associated with the firstkey; and send the packet to the first mobile node.
 12. The networksystem of claim 9, wherein: the gateway further operates to: receive apacket for the multicast group from the first multicast source; identifythe first key associated with the first multicast source; insert thefirst key into the packet; and send the packet to the cell site; thecell site further operates to: receive the packet from the gateway, thepacket communicating the first key; and identify the first mobile nodeassociated with the first key; and send the packet to the first mobilenode.